Skip to content

Conversation

@grevanak-akamai
Copy link
Contributor

@grevanak-akamai grevanak-akamai commented Jan 15, 2026

Description 📝

As part of this PR, apply changes in Networking section under create linode page as suggested by UX and TW

Changes 🔄

  • Swap placement of network interface type and network connection fields under networking
  • Update tooltip copy for all radio options under networking section as mentioned in UX copy sheet
  • Add recommendation to Linode interfaces under network interface type options
  • Remove accordion for Network interface type
  • Update backups description
  • Add relevant unit test cases
  • Remove New badge from Private IP notification
  • Fix issue with private IP value in POST payload introduced due to previous PR

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Target release date 🗓️

Jan 28

Preview 📷

Before After
When network setting is linode only
Screenshot 2026-01-15 at 5 17 40 PM Screenshot 2026-01-15 at 5 17 53 PM
When both interfaces are supported
Screenshot 2026-01-15 at 5 18 36 PM Screenshot 2026-01-15 at 5 18 43 PM
Screenshot 2026-01-15 at 5 18 56 PM Screenshot 2026-01-15 at 5 19 04 PM

How to test 🧪

  • Ensure linode interfaces feature flag is enabled
  • Navigate to /linodes/create/os page

Verification steps

  • Ensure above mentioned UX and text changes are reflecting
  • Ensure no regression impact on existing functionality and test cases
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@grevanak-akamai grevanak-akamai requested a review from a team as a code owner January 15, 2026 11:59
@grevanak-akamai grevanak-akamai requested review from Copilot and removed request for a team January 15, 2026 12:00
@grevanak-akamai grevanak-akamai self-assigned this Jan 15, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements UX and content updates to the Networking section of the Create Linode page based on design specifications and technical writing feedback. The changes reorganize the interface configuration UI and update descriptive text to improve clarity and user experience.

Changes:

  • Relocated Network Interface Type selection from Networking section to within individual interface configuration
  • Updated tooltip descriptions for network connection options and interface types with clearer, more concise language
  • Added "(Recommended)" label to Linode Interfaces option and removed the accordion wrapper for Network Interface Type
  • Updated backup pricing description and Private IP notice text for better clarity

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Networking.tsx Removed InterfaceGeneration import and component from main Networking section
LinodeInterface.tsx Added InterfaceGeneration component to individual interface configuration
LinodeInterface.test.tsx Added test for Network Interface Type radio options and updated assertions to use toBeVisible
InterfaceType.tsx Updated tooltip descriptions for network connection types and adjusted positioning
InterfaceType.test.tsx Added comprehensive unit tests for InterfaceType component functionality
InterfaceGeneration.tsx Removed accordion wrapper, updated labels and tooltip content, restructured layout
InterfaceGeneration.test.tsx Refactored tests to match new non-accordion structure and added new test cases
PrivateIP.tsx Updated Private IP notice text with clearer VPC recommendation messaging
Backups.tsx Simplified backup pricing description text

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@bnussman-akamai bnussman-akamai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

Minor UI/UX observation:
With the updated UI, these dividers stick out a bit. Maybe they should be removed or more dividers should be added to the entire "Networking" section

Image

<Paper>
<Stack spacing={2}>
<Typography variant="h2">Networking</Typography>
<InterfaceGeneration />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we intentionally kept the <InterfaceGeneration /> component here (rather than inside of <LinodeInterface />) because we structured our code so that multiple Interfaces could be configured in the future.

This change is fine for the time being, but if we ever allow configuring many interfaces, we'll probably need to move the <InterfaceGeneration /> component so it only renders once rather than for every <LinodeInterface /> that is rendered.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree. Ideally <LinodeInterface /> had to be segregated to handle this change. However I just wanted to keep the changes simple and minimal in the interest of time. Refactoring can be taken up later if we need to allow multiple interfaces.

<Stack mt={1.25} spacing={0.5}>
<Stack direction="row">
<Typography sx={(theme) => ({ font: theme.font.bold })}>
Linode Interfaces (Recommended)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it's up to UX, but I find it odd we're not using the Beta/New chip here (<LinodeInterfaceFeatureStatusChip />). I think it would be smart to keep becuase it's a common pattern we use for new/beta features.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah excellent call @bnussman-akamai, yes let's add a NEW chip

Copy link

@dabaka dabaka Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hello here - open to opinions, but I am thinking the NEW goes on the Linode Interface, but ack it could go on the header.

The header is Network Interface Type, so yes, it is now NEW that there are different types of interfaces.
Linode Interfaces is the NEW thing, so located there makes sense.

Let me know any strong opinions, if I am missing something, or am overthinking this.

Copy link
Contributor Author

@grevanak-akamai grevanak-akamai Jan 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dabaka - Currently in the drawer to upgrade to linode interfaces(/linodes/${linodeId}/configurations/upgrade-interfaces), we have beta tag shown. Either we can show beta tag or new tag for linode interfaces across the application.

Copy link
Contributor

@jdamore-linode jdamore-linode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @grevanak-akamai, validated each change and didn't observe any regressions

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Jan 15, 2026
Copy link
Contributor

@coliu-akamai coliu-akamai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ confirmed steps

thanks @grevanak-akamai!

I didn't see prototypes/discussion in the ticket for this, but just wanted to confirm that the VPC/VLAN fields are supposed to go below the Network Interface Type selection instead of above?

image

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 2 failing tests on test run #4 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
2 Failing863 Passing11 Skipped39m 0s

Details

Failing Tests
SpecTest
create-stackscripts.spec.tsCloud Manager Cypress Tests→Create stackscripts » creates a StackScript and deploys a Linode with it
clone-linode.spec.tsCloud Manager Cypress Tests→clone linode » can clone a Linode from Linode details page

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/stackscripts/create-stackscripts.spec.ts,cypress/e2e/core/linodes/clone-linode.spec.ts"

@grevanak-akamai
Copy link
Contributor Author

@bnussman-akamai @jdamore-linode - Added below changes in my latest commit

@dabaka
Copy link

dabaka commented Jan 16, 2026

@coliu-akamai @grevanak-akamai Connie is correct, all the Connection controls should go above Network Interface Type. My fault for never rendering this. I will do that this morning and look at @bnussman-akamai dividers comment

@dabaka
Copy link

dabaka commented Jan 16, 2026

Re-rendered the Networking section here in the prototype

The hierarchy is tricky as the labels are both labels and headers :/ open to any feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Linode Interfaces Linodes Dealing with the Linodes section of the app Ready for Review 🚨 Urgent

Projects

Status: Approved

Development

Successfully merging this pull request may close these issues.

6 participants